Controlling a vehicle having inadequate map data

ABSTRACT

A vehicle can be controlled in a first autonomous mode of operation by at least navigating the vehicle based on map data. Sensor data can be obtained using one or more sensors of the vehicle. The sensor data can be indicative of an environment of the vehicle. An inadequacy in the map data can be detected by at least comparing the map data to the sensor data. In response to detecting the inadequacy in the map data, the vehicle can be controlled in a second autonomous mode of operation and a user can be prompted to switch to a manual mode of operation. The vehicle can be controlled in the second autonomous mode of operation by at least obtaining additional sensor data using the one or more sensors of the vehicle and navigating the vehicle based on the additional sensor data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/943,867 filed on Jul. 17, 2013, and entitled “Controlling a VehicleHaving Inadequate Map Data,” which is a continuation of U.S. patentapplication Ser. No. 13/465,348 (now U.S. Pat. No. 8,521,352), filed onMay 7, 2012, and entitled “Controlling a Vehicle Having Inadequate MapData,” all of which are herein incorporated by reference as if fully setforth in this description.

BACKGROUND

Some vehicles are configured to operate in an autonomous mode in whichthe vehicle navigates through an environment with little or no inputfrom a driver. Such a vehicle typically includes sensors that areconfigured to sense information about the environment. The vehicle canuse the sensed information to navigate through the environment. Forexample, if the sensors sense that the vehicle is approaching anobstacle, the vehicle can navigate around the obstacle.

SUMMARY

In a first aspect, a method is provided. The method includes controllinga vehicle in a first autonomous mode of operation. Controlling thevehicle in the first autonomous mode of operation includes navigatingthe vehicle based on map data. The method includes obtaining sensor datausing one or more sensors of the vehicle. The sensor data is indicativeof an environment of the vehicle. The method includes detecting aninadequacy in the map data. Detecting the inadequacy in the map dataincludes comparing the map data to the sensor data. The method includes,in response to detecting the inadequacy in the map data, controlling thevehicle in a second autonomous mode of operation and prompting a user toswitch to a manual mode of operation. Controlling the vehicle in thesecond autonomous mode of operation includes obtaining additional sensordata using the one or more sensors of the vehicle and navigating thevehicle based on the additional sensor data.

In a second aspect, a vehicle is provided. The vehicle includes at leastone sensor and a computer system. The at least one sensor is configuredto obtain first sensor data. The first sensor data is indicative of anenvironment of the vehicle when the vehicle is in a first autonomousmode of operation. The at least one sensor is configured to obtainsecond sensor data. The second sensor data is indicative of anenvironment of the vehicle when the vehicle is in a second autonomousmode of operation. The computer system is configured to control thevehicle in the first autonomous mode of operation by at least navigatingthe vehicle based on map data. The computer system is configured todetect an inadequacy in the map data by at least comparing the map datato the first sensor data. The computer system is configured to, inresponse to detecting the inadequacy in the map data, (i) control thevehicle in the second autonomous mode of operation by at leastnavigating the vehicle based on the second sensor data, and (ii) prompta user to switch to a manual mode of operation.

In a third aspect, a non-transitory computer-readable medium isprovided. The medium includes stored instructions that are executable bya computer system to cause the computer system to perform functions. Thefunctions include controlling a vehicle in a first autonomous mode ofoperation. Controlling the vehicle in the first autonomous mode ofoperation includes navigating the vehicle based on map data. Thefunctions include receiving sensor data from one or more sensors of thevehicle. The sensor data is indicative of an environment of the vehicle.The functions include detecting an inadequacy in the map data. Detectingthe inadequacy in the map data includes comparing the map data to thesensor data. The functions include, in response to detecting theinadequacy in the map data, controlling the vehicle in a secondautonomous mode of operation and prompting a user to switch to a manualmode of operation. Controlling the vehicle in the second autonomous modeof operation includes obtaining additional sensor data using the one ormore sensors of the vehicle and navigating the vehicle based on theadditional sensor data.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 illustrates a functional block diagram of a vehicle, according toan example embodiment.

FIG. 2 illustrates a vehicle, according to an example embodiment.

FIGS. 3A-3C illustrate a scenario showing a navigation of a vehiclehaving inadequate map data, according to an example embodiment.

FIG. 4 illustrates an example of a method for controlling a vehicle,according to an example embodiment.

FIG. 5 illustrates a conceptual view of a computer program product,according to an example embodiment.

DETAILED DESCRIPTION

Some vehicles can operate autonomously with the use of map data. Forexample, a person, such as an on-board passenger, can cause a vehicle toswitch from manual operation to autonomous operation. In the autonomousmode, the vehicle can use map data to navigate the vehicle. Map data canbe, for example, predetermined data that relates to the route of avehicle or otherwise relates to the surroundings of the vehicle. Forexample, map data can relate to traffic conditions, road conditions,route information, positioning information, or combinations of these.

In some situations, map data can be inadequate for use in autonomouslynavigating a vehicle. For example, map data can become outdated overtime due to changing road conditions, or the map data may not includesufficient detail about the present or future environment of thevehicle. If the vehicle determines that the map data is inadequate, thevehicle can rely on other sources of information to operateautonomously, or the vehicle can switch (or indicate an option toswitch) to a manual mode.

This disclosure provides techniques for operating a vehicle when the mapdata has been determined to be inadequate. In some implementations, acomputer system can control a vehicle in a first autonomous mode ofoperation (or simply “first autonomous mode”). In the first autonomousmode, the computer system can navigate the vehicle based on map data.While the vehicle is in the first autonomous mode, the computer systemcan obtain sensor data using one or more sensors of the vehicle. Thesensor data can be indicative of an environment of the vehicle. Thesensor data can represent nearby objects, such as, for example, trafficsigns, lane markers, other vehicles, or pedestrians. The sensor data canalso, or instead, represent observations or calculations such as, forexample, traffic patterns and geometries of one or more roads near thevehicle.

The computer system can compare the map data to the sensor data in orderto detect an inadequacy in the map data. For example, the inadequacy inthe map data can be an inconsistency between the sensor data and the mapdata. In response to detecting the inadequacy in the map data, thecomputer system can control the vehicle in a second autonomous mode ofoperation (or simply “second autonomous mode”), and provide anindication of an option to switch to a manual mode of operation (orsimply “manual mode”). The indication can serve to notify a person, suchas an on-board passenger, of the inadequacy in the map data, and tosuggest that the person take control of the vehicle, such as by causingthe vehicle to switch to the manual mode. In the second autonomous mode,the computer system can obtain additional sensor data using the one ormore sensors, and can navigate the vehicle based on the additionalsensor data.

In addition, in the second autonomous mode, the computer system can takeprecautions, such as, for example, reducing a speed of the vehicle,causing the vehicle to maintain a safer than usual distance from anothervehicle, or the like. In this way, the computer system can take measuresto enhance the safety of a person, such as an on-board passenger, whilethe computer system waits for the person to take control of the vehicle.

In the second autonomous mode, if the computer system detects aninactivity in relation to the option to switch to the manual mode, thenthe computer system can control the vehicle in a third autonomous modeof operation (or simply “third autonomous mode”). For example, if thecomputer system detects that a predetermined period has passed withoutthe vehicle switching to the manual mode, then the computer system cancontrol the vehicle in the third autonomous mode. In the thirdautonomous mode, the computer system can obtain further sensor datausing the one or more sensors, and can navigate the vehicle based on thefurther sensor data. In addition, in the third autonomous mode, thecomputer system can navigate the vehicle with diminished or no use ofthe map data. In the third autonomous mode, the computer system can takefurther precautions, such as, for example, stopping the vehicle,navigating the vehicle to a shoulder of a road, following anothervehicle at a safe distance, enabling the vehicle's hazard lights, orsending a message to alert appropriate authorities. In this way, when anon-board passenger does not take control of the vehicle in the secondautonomous mode, the vehicle can be safely maneuvered and/or parked.

Also discussed are examples of systems that can be used in connectionwith some disclosed implementations. In some implementations, a systemcan take the form of an automobile or another suitable vehicle. Suitablevehicles include a car, truck, motorcycle, bus, boat, airplane,helicopter, lawn mower, earthmover, snowmobile, recreational vehicle,amusement park vehicle, farm equipment, construction equipment, tram,golf cart, train, or trolley. Other vehicles are possible as well.

FIG. 1 illustrates a functional block diagram of a vehicle 100. Thevehicle 100 can be configured to operate in one of several autonomousmodes of operation or in a manual mode of operation. Depending on thedesired implementation, the autonomous modes can include one or more ofa first autonomous mode, a second autonomous mode, and a thirdautonomous mode. The first, second, and third autonomous modes arediscussed below in further detail. While the vehicle 100 is in one ofthe autonomous modes, the vehicle 100 can be configured to operatewithout a need for human interaction. While the vehicle 100 is in themanual mode, the vehicle 100 can be configured to operate under thecontrol of a person, such as an on-board passenger. Otherimplementations are possible. For example, the vehicle can be configuredto operate in a semi-autonomous mode, in which the vehicle can beconfigured to perform some operations without a need for humaninteraction and to perform some operations under the control of aperson, such as an on-board passenger.

With reference to FIG. 1, the vehicle 100 can include various subsystemssuch as a propulsion system 102, a sensor system 104, a control system106, one or more peripherals 108, as well as a power supply 110, acomputer system 112, and a user interface 116. The vehicle 100 caninclude more or fewer subsystems and each subsystem can include multipleelements. Further, each of the subsystems and elements of the vehicle100 can be interconnected. Thus, one or more of the described functionsof the vehicle 100 can be divided into additional functional or physicalcomponents, or combined into fewer functional or physical components. Insome further examples, additional functional or physical components canbe added to the illustration of FIG. 1.

The propulsion system 102 can include components operable to providepowered motion for the vehicle 100. Depending on the implementation, thepropulsion system 102 can include an engine/motor 118, an energy source119, a transmission 120, and wheels/tires 121. The engine/motor 118 canbe any combination of an internal combustion engine, an electric motor,steam engine, Stirling engine, or another engines/motor. In someimplementations, the engine/motor 118 can be configured to convert theenergy source 119 into mechanical energy. In some implementations, thepropulsion system 102 can include multiple types of engines and/ormotors. For instance, a gas-electric hybrid car can include a gasolineengine and an electric motor. Other implementations are possible.

The energy source 119 can represent a source of energy that can, in fullor in part, power the engine/motor 118. That is, the engine/motor 118can be configured to convert the energy source 119 into mechanicalenergy. Examples of energy sources 119 include gasoline, diesel, otherpetroleum-based fuels, propane, other compressed gas-based fuels,ethanol, solar panels, batteries, and other sources of electrical power.The energy source 119 can also, or instead, include any combination offuel tanks, batteries, capacitors, and flywheels. The energy source 119can also provide energy for other systems of the vehicle 100.

The transmission 120 can include elements that are operable to transmitmechanical power from the engine/motor 118 to the wheels/tires 121. Tothis end, the transmission 120 can include a gearbox, clutch,differential, and drive shafts. The transmission 120 can include otherelements. The drive shafts can include one or more axles that can becoupled to the one or more wheels/tires 121.

The wheels/tires 121 of the vehicle 100 can be of various forms, suchas, for example, those of a unicycle, motorcycle, tricycle, or car.Other wheel/tire forms are possible, such as those including six or morewheels. Any combination of the wheels/tires 121 of the vehicle 100 canbe operable to rotate differentially with respect to other wheels/tires121. The wheels/tires 121 can represent at least one wheel that isattached to the transmission 120 and at least one tire coupled to a rimof the wheel that can make contact with the driving surface. Thewheels/tires 121 can include any combination of metal and rubber, oranother combination of materials.

The sensor system 104 can include a number of sensors configured tosense information about an environment of the vehicle 100. For example,the sensor system 104 can include a Global Positioning System (GPS) 122,an inertial measurement unit (IMU) 124, a RADAR unit 126, a laserrangefinder/LIDAR unit 128, and a camera 130, among other types ofsensors. In addition, the sensor system 104 can include sensors that areconfigured to monitor internal systems of the vehicle 100. Examplesinclude an O₂ monitor, fuel gauge, and engine oil temperature. Inaddition, the sensor system 104 can include sensors that can senseconditions in a passenger cabin of the vehicle 100, if the vehicle 100is equipped with a passenger cabin. Examples include physiologicalsensors and cameras. Other sensors are possible as well.

The GPS 122 can include any number and combination of sensors, and canbe configured to estimate a geographic location of the vehicle 100. Tothis end, the GPS 122 can include a transceiver that is operable toprovide information regarding the position of the vehicle 100 withrespect to the Earth.

The IMU 124 can include any number and combination of sensors (forexample, accelerometers and gyroscopes), and can be configured to senseposition and orientation changes of the vehicle 100 based on inertialacceleration.

The RADAR unit 126 can represent a system that utilizes radio signals tosense objects within the environment of the vehicle 100. In someimplementations, in addition to sensing the objects, the RADAR unit 126can additionally be configured to sense the speed of the objects, theheading of the objects, or both.

The laser rangefinder or LIDAR unit 128 can include any number andcombination of sensors, and can be configured to sense objects in theenvironment of the vehicle 100 by using lasers. Depending on theimplementation, the laser rangefinder/LIDAR unit 128 can include one ormore laser sources, laser scanners, and detectors, among othercomponents. The laser rangefinder/LIDAR unit 128 can be configured tooperate in a coherent detection mode (for example, by using heterodynedetection) or an incoherent detection mode.

The camera 130 can include any number and combination of devices, andcan be configured to capture images of the environment of the vehicle100. The camera 130 can be a still camera or a video camera.

The control system 106 can be configured to control operation of thevehicle 100 and its components. To this end, the control system 106 caninclude various elements, including a steering unit 132, a throttle 134,a brake unit 136, a sensor fusion algorithm 138, a computer visionsystem 140, a navigation/pathing system 142, and an obstacle avoidancesystem 144.

The steering unit 132 can include any number and combination of devices,and can be configured to adjust the heading of the vehicle 100.

The throttle 134 can be configured to control, for instance, theoperating speed of the engine/motor 118 and, in turn, control the speedof the vehicle 100.

The brake unit 136 can include any number and combination of devices,and can be configured to decelerate the vehicle 100. The brake unit 136can apply friction to slow the wheels/tires 121. In someimplementations, the brake unit 136 can convert the kinetic energy ofthe wheels/tires 121 to electric current. Other implementations arepossible.

The sensor fusion algorithm 138 can be an algorithm or a computerprogram product storing an algorithm, and can be configured to receivedata from the sensor system 104 as an input. The data can include, forexample, data representing information sensed at the sensors of thesensor system 104. The sensor fusion algorithm 138 can include, forinstance, a Kalman filter, Bayesian network, or other algorithm. Thesensor fusion algorithm 138 can further provide various assessmentsbased on the data from the sensor system 104. Depending on theimplementation, the assessments can include evaluations of individualobjects or features in the environment of the vehicle 100, evaluation ofa particular situation, or evaluations of possible impacts based on theparticular situation. Other assessments are possible.

The computer vision system 140 can be any system that is operable toprocess and analyze images captured by the camera 130 in order toidentify objects or features in the environment of the vehicle 100. Theobjects or features can include, for example, traffic signals, trafficsigns, roadway boundaries, and obstacles. The computer vision system 140can use an object recognition algorithm, a Structure From Motion (SFM)algorithm, video tracking, and other computer vision techniques. In someimplementations, the computer vision system 140 can be configured to mapan environment, track objects, and estimate the speed of objects.

The navigation and pathing system 142 can be configured to determine adriving path for the vehicle 100. The navigation and pathing system 142can be configured to update the driving path dynamically while thevehicle 100 is in operation. In some implementations, the navigation andpathing system 142 can be configured to use map data to determine thedriving path for the vehicle 100. For example, the navigation andpathing system 142 can use data from the sensor fusion algorithm 138 orthe GPS 122, or from a different system or component of the vehicle 100,to determine the driving path for the vehicle 100.

The obstacle avoidance system 144 can represent a control system that isconfigured to identify, evaluate, and avoid or otherwise negotiatepotential obstacles in the environment of the vehicle 100.

The peripherals 108 can be configured to allow interaction between thevehicle 100 and external sensors, other vehicles, other computersystems, or a user. For example, the peripherals 108 can include awireless communication system 146, a touchscreen 148, a microphone 150,and a speaker 152.

In some implementations, the peripherals 108 can enable a user of thevehicle 100 to interact with the user interface 116. To this end, thetouchscreen 148 can provide information to a user of vehicle 100. Forexample, the touchscreen 148 can provide an indication of an option toswitch from an autonomous mode of operation to a manual mode ofoperation. The user interface 116 can be operable to accept input fromthe user via the touchscreen 148. The touchscreen 148 can be configuredto sense at least one of a position and a movement of a user's fingervia capacitive sensing, resistance sensing, or a surface acoustic waveprocess, among other possibilities. The touchscreen 148 can be capableof sensing finger movement in a direction parallel or planar to thetouchscreen surface, in a direction normal to the touchscreen surface,or both, and can also be capable of sensing a level of pressure appliedto the touchscreen surface. The touchscreen 148 can be formed of one ormore translucent or transparent insulating layers and one or moretranslucent or transparent conducting layers. The touchscreen 148 cantake other forms as well.

In some implementations, the peripherals 108 can enable the vehicle 100to communicate with devices in its environment. The microphone 150 canbe configured to receive audio (for example, a voice command or otheraudio input) from a user of the vehicle 100. Similarly, the speakers 152can be configured to output audio to the user of the vehicle 100. Forexample, the speakers 152 can provide an indication of an option toswitch from an autonomous mode of operation to a manual mode ofoperation.

The wireless communication system 146 can be configured to wirelesslycommunicate with one or more devices directly or via a communicationnetwork. For example, the wireless communication system 146 can use 3Gcellular communication, such as CDMA, EVDO, GSM/GPRS, or 4G cellularcommunication, such as WiMAX or LTE. In some implementations, thewireless communication system 146 can communicate with a wireless localarea network (WLAN), for example, using WiFi. In some implementations,the wireless communication system 146 can communicate directly with adevice, for example, using an infrared link, Bluetooth, or ZigBee. Otherwireless protocols, such as various vehicular communication systems, arepossible. For example, the wireless communication system 146 can includeone or more dedicated short-range communications (DSRC) devices that caninclude public or private data communications between vehicles androadside stations.

The power supply 110 can provide power to various components of thevehicle 100 and can represent, for example, a rechargeable lithium-ionor lead-acid battery. In some implementations, one or more banks of suchbatteries can be configured to provide electrical power. Other powersupply materials and configurations are possible. In someimplementations, the power supply 110 and energy source 119 can beimplemented together, as in some all-electric cars.

Many or all of the functions of the vehicle 100 can be controlled by thecomputer system 112. The computer system 112 can include at least oneprocessor 113, which can include at least one microprocessor. The atleast one processor 113 can execute instructions 115 stored in anon-transitory computer-readable medium, such as the data storage 114.The computer system 112 can also represent multiple computing devicesthat can control individual components or subsystems of the vehicle 100in a distributed fashion.

In some implementations, the data storage 114 can contain instructions115 (for example, program logic) that are executable by the processor113 to execute various functions of vehicle 100, including thosedescribed above in connection with FIG. 1 and those discussed below inconnection with FIGS. 3A-3C and 4. The data storage 114 can containadditional instructions as well, including instructions to transmit datato, receive data from, interact with, and/or control one or more of thepropulsion system 102, the sensor system 104, the control system 106,and the peripherals 108.

In addition to the instructions 115, the data storage 114 can store mapdata, which can include roadway maps, path information, and roadcondition information, among other data. In some implementations, themap data can be used by the vehicle 100 and computer system 112 duringthe operation of the vehicle 100 in the autonomous, semi-autonomous, ormanual modes. In some implementations, the map data can be selectivelyused by the vehicle 100 during the operation of the vehicle 100 in someof the autonomous modes, and can be used to a lesser extent duringoperation of the vehicle 100 in other autonomous modes.

The vehicle 100 can include a user interface 116 for providinginformation to or receiving input from a user of vehicle 100. The userinterface 116 can control or enable control of content and/or the layoutof interactive images that can be displayed on the touchscreen 148.Further, the user interface 116 can include one or more input/outputdevices within the set of peripherals 108, such as the wirelesscommunication system 146, the touchscreen 148, the microphone 150, andthe speaker 152.

The computer system 112 can control functions of the vehicle 100 basedon inputs received from various subsystems (for example, the propulsionsystem 102, sensor system 104, and control system 106), as well as fromthe user interface 116. For example, the computer system 112 can utilizeinput from the control system 106 in order to control the steering unit132 to avoid an obstacle detected by the sensor system 104 and theobstacle avoidance system 144. Depending upon the implementation, thecomputer system 112 can be operable to provide control over many aspectsof the vehicle 100 and its subsystems.

The components of the vehicle 100 can be configured to work in aninterconnected fashion with other components within or outside theirrespective systems. For instance, in some implementations, the camera130 can capture a plurality of images that can represent informationabout a state of an environment of the vehicle 100 operating in anautonomous mode. The environment can include another vehicle, the roadon which the vehicle 100 travels (including markings on the road), signsnear the vehicle, pedestrians, and the like. The computer vision system140 can recognize aspects of the environment based on object recognitionmodels stored in data storage 114.

In some implementations, the computer system 112 can control the vehicle100 in one of several autonomous modes of operation, including first,second, and third autonomous modes. In the first autonomous mode, thecomputer system can navigate the vehicle based on map data, such as, forexample, map data from the global positioning system 122, map data thatis stored to the data storage 114, or map data that is received from thewireless communication system 146. While the vehicle 100 is in the firstautonomous mode, the computer system 112 can obtain sensor data usingone or more sensors in the sensor system 104. The sensor data can beindicative of an environment of the vehicle 100. The sensor data canrepresent nearby objects, such as, for example, traffic signs, lanemarkers, other vehicles, or pedestrians. The sensor data can also, orinstead, represent observations or calculations such as, for example,traffic patterns and road shapes near the vehicle 100.

The computer system 112 can compare the map data to the sensor data inorder to detect an inadequacy in the map data. For example, theinadequacy in the map data can be an inconsistency between the sensordata and the map data. In response to detecting the inadequacy in themap data, the computer system 112 can control the vehicle 100 in thesecond autonomous mode, and can provide an indication of an option toswitch to the manual mode. For example, the indication can be providedby way of the touch screen 148, the speaker 152, and/or the userinterface 116. The indication can serve to notify a person, such as anon-board passenger, of the inadequacy in the map data, and to suggestthat the person take control of the vehicle 100, such as by causing thevehicle 100 to switch to the manual mode. In the second autonomous mode,the computer system 112 can obtain additional sensor data using thesensor system 104, and can navigate the vehicle 100 based on theadditional sensor data.

Also, in the second autonomous mode, the computer system can takeprecautions, such as, for example, reducing a speed of the vehicle 100,causing the vehicle 100 to maintain a safer than usual distance fromother vehicles, or the like. In this way, the computer system 112 cantake measures to enhance the safety of persons, such as on-boardpassengers, while the computer system 112 waits for a person to takecontrol of the vehicle 100.

In some implementations, in the second autonomous mode, if the computersystem 112 detects an inactivity in relation to the option to switch tothe manual mode, then the computer system 112 can control the vehicle100 in the third autonomous mode. For example, if the computer system112 detects that a predetermined period has passed without the vehicle100 switching to the manual mode, then the computer system 112 cancontrol the vehicle 100 in the third autonomous mode. In the thirdautonomous mode, the computer system 112 can obtain further sensor datausing the one or more sensors, and can navigate the vehicle 100 based onthe further sensor data. In addition, in the third autonomous mode, thecomputer system 112 can navigate the vehicle 100 with diminished or nouse of the map data. In the third autonomous mode, the computer system112 can take further precautions, such as, for example, stopping thevehicle 100 immediately, navigating the vehicle 100 to a shoulder of aroad and then stopping the vehicle 100, causing the vehicle 100 tofollow another vehicle at a safe distance, enabling hazard lights of thevehicle 100, or sending a message (for example, by way of the wirelesscommunication system 146) to alert appropriate authorities. In this way,when a person, such as an on-board passenger, does not take control ofthe vehicle 100, the vehicle 100 can be safely maneuvered and/or parked.

Although FIG. 1 shows various components of the vehicle 100, such as,for example, the wireless communication system 146, the computer system112, the data storage 114, and the user interface 116, as beingintegrated into the vehicle 100, one or more of these components can bemounted or associated separately from the vehicle 100. For example, thedata storage 114 can, in part or in full, exist separate from thevehicle 100. Thus, the vehicle 100 can be provided in the form of deviceelements that can be located separately or together. The device elementsthat make up the vehicle 100 can be communicatively coupled together ina wired or wireless fashion.

FIG. 2 illustrates a vehicle 200. The vehicle 200 can be similar oridentical to the vehicle 100 discussed in reference to FIG. 1. Althoughthe vehicle 200 is illustrated in FIG. 2 as a car, other implementationsare possible. For instance, the vehicle 200 can represent a truck, avan, a semi-trailer truck, a motorcycle, a golf cart, an off-roadvehicle, or a farm vehicle, among other types of vehicles.

Depending on the implementation, the vehicle 200 can include a sensorunit 202, a wireless communication system 204, a LIDAR unit 206, a laserrangefinder unit 208, and a camera 210. The elements of the vehicle 200can include some or all of the elements described in connection withFIG. 1.

The sensor unit 202 can include one or more different sensors configuredto capture information about an environment of the vehicle 200. Forexample, the sensor unit 202 can include any combination of cameras,RADARs, LIDARs, range finders, and acoustic sensors. Other types ofsensors are possible. Depending on the implementation, the sensor unit202 can include one or more movable mounts that can be operable toadjust the orientation of one or more sensors in the sensor unit 202. Insome implementations, the movable mount can include a rotating platformthat can scan sensors so as to obtain information from each directionaround the vehicle 200. In another implementation, the movable mount ofthe sensor unit 202 can be moveable in a scanning fashion within aparticular range of angles or azimuths. The sensor unit 202 can bemounted atop the roof of a car, for instance; however other mountinglocations are possible. In addition, the sensors of sensor unit 202 canbe distributed in different locations and need not be collocated in asingle location. Some possible sensor types and mounting locationsinclude the LIDAR unit 206 and the laser rangefinder unit 208. Inaddition, each sensor of the sensor unit 202 can move or scanindependently of other sensors of the sensor unit 202.

The wireless communication system 204 can be located on a roof of thevehicle 200, as depicted in FIG. 2. In some implementations, thewireless communication system 204 can be located elsewhere. The wirelesscommunication system 204 can include wireless transmitters and receiversthat can be configured to communicate with devices external or internalto the vehicle 200. In particular, the wireless communication system 204can include transceivers that can be configured to communicate withother vehicles and/or computing devices, for instance, in a vehicularcommunication system or a roadway station. Examples of such vehicularcommunication systems include dedicated short-range communications(DSRC), radio frequency identification (RFID), and other proposedcommunication standards directed towards intelligent transport systems.

The camera 210 can be any camera (for example, a still camera or a videocamera) that is configured to capture a plurality of images of theenvironment of the vehicle 200. To this end, the camera 210 can beconfigured to detect visible light, or can be configured to detect lightfrom other portions of the spectrum, such as infrared or ultravioletlight. Other types of cameras are possible as well.

The camera 210 can be a two-dimensional detector, or can have athree-dimensional spatial range. In some implementations, the camera 210can be, for example, a range detector that is configured to generate atwo-dimensional image indicating a distance from the camera 210 to anumber of points in the environment. To this end, the camera 210 can useone or more range detecting techniques. For example, the camera 210 canuse a structured light technique in which the vehicle 200 illuminates anobject in the environment with a predetermined light pattern, such as agrid or checkerboard pattern and uses the camera 210 to detect areflection of the predetermined light pattern from the object. Based ondistortions in the reflected light pattern, the vehicle 200 candetermine the distance to the points on the object. The predeterminedlight pattern can include infrared light or light of another wavelength.As another example, the camera 210 can use a laser scanning technique inwhich the vehicle 200 emits a laser and scans across a number of pointson an object in the environment. While scanning the object, the vehicle200 can use the camera 210 to detect a reflection of the laser from theobject for each point. Based on a duration that it takes for the laserto reflect from the object at each point, the vehicle 200 can determinethe distance to the points on the object. As yet another example, thecamera 210 can use a time-of-flight technique in which the vehicle 200emits a light pulse and uses the camera 210 to detect a reflection ofthe light pulse from an object at a number of points on the object. Inparticular, the camera 210 can include a number of pixels, and eachpixel can detect the reflection of the light pulse from a point on theobject. Based on a duration it takes for the light pulse to reflect fromthe object at each point, the vehicle 200 can determine the distance tothe points on the object. The light pulse can be a laser pulse. Otherrange detecting techniques are possible as well, including stereotriangulation, sheet-of-light triangulation, interferometry, and codedaperture techniques, among others. The camera 210 can take other formsas well.

The camera 210 can be mounted inside a front windshield of the vehicle200. Specifically, as illustrated, the camera 210 can capture imagesfrom a forward-looking view with respect to the vehicle 200. Othermounting locations and viewing angles of the camera 210 are possible,either inside or outside the vehicle 200.

The camera 210 can have associated optics that can be operable toprovide an adjustable field of view. Further, the camera 210 can bemounted to the vehicle 200 with a movable mount that can be operable tovary a pointing angle of the camera 210.

FIGS. 3A-3C illustrate an example of a scenario 300 showing a navigationof a vehicle having inadequate map data. With reference to FIG. 3A, thescenario 300 involves a roadway with a left lane 302, a right lane 304,and a shoulder 306. In the left lane 302 is a vehicle 308. Traveling infront of the vehicle 308 is a truck 314, and traveling to the right ofthe vehicle 308 is a car 312. Assume that in FIG. 3A, the vehicle 308 isoperating in a first autonomous mode. In the first autonomous mode, thevehicle 308 can be navigated based on map data. The map data caninclude, for example, roadway maps, path information, and road conditioninformation, among other data. The map data can be received by thevehicle 308 while the vehicle is 308 is in motion or prior to thevehicle 308 being in motion. For example, the vehicle 308 can receivemap data of a route in real-time, or can receive map data of the routein iterations as the vehicle 308 travels along the route. As anotherexample, the vehicle 308 can receive map data prior to commencing theroute. In other words, in some implementations, the map data can begenerated and/or received prior to controlling the vehicle 308 in thefirst autonomous mode.

While the vehicle 308 is in the first autonomous mode, a computer systemof the vehicle 308 can obtain sensor data using a sensor unit 310 of thevehicle 308 or any other sensor of the vehicle 308. The sensor data canbe indicative of the environment of the vehicle 308 and, accordingly,can represent such aspects of the environment as the roadway, the truck314 or car 312, and information on the road sign 316. These examples areillustrative only; the sensor data can represent various other aspectsof the environment of the vehicle 308.

In addition, when the vehicle 308 is in the first autonomous mode, thevehicle's computer system can compare the map data to the sensor data inorder to detect an inadequacy in the map data. In some implementations,the computer system can determine, based on the comparison, whether thedifference between the map data and the sensor data exceeds apredetermined threshold. If the difference exceeds the threshold, thenthe computer system can determine that that the map data is inadequate.In some implementations, the map data can be compared to the sensor datain real-time. In some implementations, the map data can be compared tothe sensor data outside real-time.

In response to detecting an inadequacy in the map data, the computersystem of the vehicle 308 can control the vehicle 308 in a secondautonomous mode, and can provide an indication of an option to switch toa manual mode. The indication can be any suitable indication, such as,for example, a notification by way of a display in a passenger cabin ofthe vehicle 308, a speaker of the vehicle 308, or a light indicator ofthe vehicle 308.

Some of the examples above discuss an inadequacy in terms of inadequatemap data. An inadequacy can also be found when there is simply norelevant map data for a given area. For example, the vehicle 308 may notreceive map data for a given area, or may receive map data that does notinclude data for the given area.

FIG. 3B shows the vehicle 308 operating in the second autonomous mode.In the second autonomous mode, the computer system of the vehicle 308can obtain additional sensor data using the sensor unit 310 of thevehicle 308 or any other sensor of the vehicle 308. The additionalsensor data can be indicative of any aspect of the environment of thevehicle 308 and, accordingly, can represent such features of theenvironment as the truck 314, the car 312, the positions of the truck314 and the car 314 relative to the vehicle 308, the left lane 302 andthe right lane 304 of the roadway, the boundary between the left andright lanes, and the information on the road sign 316, for example. Forexample, in the second autonomous mode, the vehicle can continue todrive safely while transitioning control by estimating the shape andlocation of the current lane and road and using this information to staywithin its lane. To do this lane/road estimation, the vehicle mayincorporate several sources of information from sensors on the vehicle,such as features representing where the lane markers are, where othervehicles are traveling, and objects specific to road environments suchas traffic signs, cones, and other markers. The vehicle can also takeinto account where other vehicles/objects are in its vicinity tomaintain a safe distance from these vehicles/objects while transitioningcontrol to the human driver. These examples are illustrative only; theadditional sensor data can represent various other aspects of theenvironment of the vehicle 308.

The vehicle 308 can be navigated based on the additional sensor data. Insome implementations, the vehicle 308 can be navigated based on amessage that conveys a condition of the environment of the vehicle 308.For example, assume that the road sign 316 includes the message“Construction ahead: reduce speed to 20 MPH.” The computer system of thevehicle 308 can accordingly reduce the speed of the vehicle 308 inaccordance with the message on the road sign 316. As another example,the computer system of the vehicle 308 can detect lane boundaries, suchas, for example, the boundaries of the lane 302, and can navigate thevehicle 308 to stay in the lane 302. In some implementations, thecomputer system can navigate the vehicle 308 based on the additionalsensor data and without using the map data. In some implementations, thecomputer system can navigate the vehicle 308 based on a combination ofthe additional sensor data and the map data. For example, the computersystem of the vehicle 308 can use portions of the map data that aresufficiently consistent with the sensor data, and can use the sensordata to the exclusion of the map data when the sensor data and map dataare sufficiently different from each other.

In some implementations, when the vehicle 308 is operating in the secondautonomous mode, the computer system of the vehicle 308 can takeprecautions, such as, for example, reducing a speed of the vehicle 308,causing the vehicle 308 to maintain a safer than usual distance fromother vehicles, or the like. In this way, the computer system of thevehicle 308 can take measures to enhance the safety of persons, such ason-board passengers, while the computer system waits for a person torespond to the indication of the option to switch to the manual mode.For example, as illustrated by arrow 318, the vehicle 308 has sloweddown and backed off from the truck 314. Other implementations for takingprecautions in the second autonomous mode are possible.

In some implementations, after the vehicle 308 begins to operate in thesecond autonomous mode, the computer system of the vehicle 308 canmonitor for an inactivity in relation to the option to switch to themanual mode. If the computer system detects such an inactivity, then thecomputer system can control the vehicle 308 in a third autonomous mode.For example, if the computer system detects that a predetermined periodhas passed without the vehicle switching to the manual mode, then thecomputer system can control the vehicle in the third autonomous mode. Asanother example, the computer system can use sensors that are in orfocused on the passenger cabin of the vehicle 308 to determine acondition of an on-board passenger. For instance, a camera in thepassenger cabin can be used to determine whether an on-board passengerhas moved (or has moved to a sufficient extent) after the indication wasprovided. In this way, the computer system of the vehicle 308 can detectthe inactivity by detecting an inaction in the passenger cabin of thevehicle 308. Other implementations are possible. For example, thecomputer system can use data from physiological sensors, such as, forexample, heart rate monitors, to monitor for an inactivity.

FIG. 3C shows the vehicle 308 operating in the third autonomous mode. Inthe third autonomous mode, the computer system of the vehicle 308 canobtain further sensor data using the sensor unit 310 or another sensorof the vehicle 308, and can navigate the vehicle 308 based on thefurther sensor data. In some implementations, in the third autonomousmode, the computer system of the vehicle 308 can navigate the vehicle308 with diminished or no use of the map data.

In some implementations, in the third autonomous mode, the computersystem of the vehicle 308 can take or can cause the vehicle to take oneor more precautious actions in addition to those taken, if any, in thesecond autonomous mode. As an example of a precautions action, thecomputer system of the vehicle 308 can immediately stop the vehicle 308,assuming that the computer system determines that it is feasible andsafe to do so. As another example of a precautions action, in the thirdautonomous mode, the computer system can determine a level of safety ofparking the vehicle 308 at a location, such as, for example, theshoulder 306 of the roadway. If the computer system determines that thelevel of safety exceeds a target threshold, then the computer system cancause the vehicle 308 to navigate to the location and park the vehicle308 at the location, as illustrated by arrow 320. As yet another exampleof a precautions action, in the third autonomous mode, the computersystem of the vehicle 308 can cause the vehicle 308 to follow anothervehicle, such as the truck 314, at a safe distance. In this way, thevehicle 308 can take advantage of the behavior of the other vehicle. Thevehicle 308 can follow the other vehicle, for example, until thecomputer system determines that some condition or combination ofconditions has been met. For example, the computer system of the vehicle308 can cause the vehicle 308 to stop following the other vehicle upon adetermination that it is no longer safe for the vehicle 308 to continueto follow the other vehicle, upon a determination that following theother vehicle has led or will lead the vehicle 308 sufficiently astrayfrom a target path, or upon a determination of a safe location to parkthe vehicle 308. As yet another example of a precautious action, in thethird autonomous mode, the computer system of the vehicle 308 can enablehazard lights of the vehicle 308 and can reduce the speed of the vehicle308. As a further example of a precautions action, in the thirdautonomous mode, the computer system of the vehicle 308 can locate anarea to park, for example, by way of a navigation system of the vehicle308 or a navigation system that is accessible through a communicationsystem of the vehicle 308. The computer system of the vehicle 308 cannavigate the vehicle 308 to the area and park the vehicle at the area.As still another example of a precautious action, in the thirdautonomous mode, the computer system of the vehicle 308 can cause thevehicle 308 to send a message to alert appropriate authorities.

As a further example of a precautious action, in the third autonomousmode, the computer system of the vehicle 308 can continue to navigatethe vehicle 308 partially or entirely along a route. The route can be apredetermined route or a route that is generated upon (or after) thevehicle 308 entering the third autonomous mode. For instance, if thecomputer system is confident in its estimate of the current or futureenvironment of the vehicle 308 based on the sensor data, then thecomputer system can continue to navigate the vehicle 308 along a route.In some implementations, the computer system can navigate the vehicle308 partially along the predetermined route, for example, by navigatingthe vehicle 308 for a certain period of time or for a certain distance.In some implementations, the computer system can navigate the vehicle308 until the vehicle 308 reaches the destination of the route.

Accordingly, when a person, such as an on-board passenger, does notcause the vehicle 308 to switch from the second autonomous mode to themanual mode, the vehicle 308 can be safely maneuvered and/or parkedwhile the vehicle 308 is in the third autonomous mode. These examples ofprecautious actions can be implemented together in various combinations.For example, the computer system of the vehicle 308 can turn on hazardlights of the vehicle 308 while the computer system searches for asuitable location to park the vehicle 308. Upon identifying a suitablelocation to park the vehicle 308, the computer system can turn off thehazard lights and navigate the vehicle 308 to the location. Theseexamples are illustratively only. The vehicle 308 can take (or be causedto take) various other precautious actions in the third autonomous mode;this disclosure contemplates the various other precautious actions.

FIG. 4 illustrates an example of a method 400 for controlling a vehicle.The method 400 can be performed using the vehicle 100 shown in FIG. 1,the vehicle 200 shown in FIG. 2, another suitable vehicle, or anothersuitable system or apparatus.

At block 402, the method 400 includes controlling a vehicle in a firstautonomous mode of operation. In the method 400, controlling the vehiclein the first autonomous mode of operation includes navigating thevehicle based on map data. In some implementations, the method 400 caninclude receiving the map data prior to controlling the vehicle in thefirst autonomous mode of operation. In some implementations, the mapdata can be generated prior to controlling the vehicle in the firstautonomous mode of operation.

At block 404, the method 400 includes obtaining sensor data using one ormore sensors of the vehicle. In the method 400, the sensor data isindicative of an environment of the vehicle.

At block 406, the method 400 includes detecting an inadequacy in the mapdata. In the method 400, detecting the inadequacy in the map dataincludes comparing the map data to the sensor data. In someimplementations, detecting the inadequacy in the map data includesdetecting a difference between the map data and the sensor data. In someimplementations, comparing the map data to the sensor data comprisescomparing the map data to the sensor data in real-time.

At block 408, the method 400 includes controlling the vehicle in asecond autonomous mode of operation and providing an indication of anoption to switch to a manual mode of operation, in response to detectingthe inadequacy in the map data. Providing the indication can serve toprompt a user to switch to the manual mode of operation. The indicationcan be provided in various ways. The indication can be provided, forexample, by way of any device or system that is provided in connectionwith the vehicle, such as, for example, any combination of one or moredisplays (such as a touch-screen display), speakers, indicator lights,and navigation systems. These examples are merely illustrative; theindication can be provided in various other ways. For example, theindication can be provided by way of a mobile device, such as a mobilephone, that is in wireless communication with the vehicle.

In the method 400, controlling the vehicle in the second autonomous modeof operation includes obtaining additional sensor data using the one ormore sensors of the vehicle and navigating the vehicle based on theadditional sensor data. In some implementations, navigating the vehiclebased on the additional sensor data comprises navigating the vehiclewithout using the map data. In some implementations, the additionalsensor data can be indicative of a lane boundary, and navigating thevehicle based on the additional sensor data can include navigating thevehicle based on the lane boundary. In some implementations, theadditional sensor data can be indicative of a position of a secondvehicle, and navigating the vehicle based on the additional sensor datacan include navigating the vehicle based on the position of the secondvehicle. In some implementations, the additional sensor data can beindicative of a traffic sign. The traffic sign can present a conditionof an environment of the vehicle. Navigating the vehicle based on theadditional sensor data can include navigating the vehicle based on thecondition.

In some implementations, the method 400 can include detecting aninactivity when the vehicle is in the second autonomous mode ofoperation. The inactivity can relate to the option to switch to themanual mode of operation. In some implementations, detecting theinactivity can include receiving information that is indicative of acondition in a passenger cabin of the vehicle, and detecting theinactivity based on the information. In some implementations, detectingthe inactivity can include detecting an inaction in a passenger cabin ofthe vehicle. The method 400 can include controlling the vehicle in athird autonomous mode of operation, in response to detecting theinadequacy in the map data. Controlling the vehicle in the thirdautonomous mode of operation can include obtaining further sensor datausing the one or more sensors of the vehicle, and navigating the vehiclebased on the further sensor data. In some implementations, navigatingthe vehicle based on the further sensor data can include determining alevel of safety of parking the vehicle at a location, determining thatthe level of safety exceeds a target threshold, and in response todetermining that the level of safety exceeds the target threshold,parking the vehicle at the location. In some implementations, navigatingthe vehicle based on the further sensor data can include navigating thevehicle without using the map data.

The method 400 of FIG. 4, as well as other methods in the scope of thisdisclosure, can be carried out in whole or in part by a vehicle and itssubsystems. In some implementations, the method 400 can be implementedin whole or in part by one or more computing devices. For example, themethod 400 can be implemented in whole or in part by a server system,which receives data from a device that is associated with a vehicle.Other examples of computing devices or combinations of computing devicesthat can implement the method 400 are possible.

In some implementations, the method 400, as well as other methods in thescope of this disclosure, can be implemented as computer programinstructions encoded on a non-transitory computer-readable storage mediain a machine-readable format, or on other non-transitory media orarticles of manufacture.

FIG. 5 illustrates a conceptual view of a computer program product 500.The computer program product 500 can be used to implement methods, suchas the method 400, that are in the scope of this disclosure. In someimplementations, the computer program product 500 is provided using asignal bearing medium 502. The signal bearing medium 502 can include oneor more programming instructions 504 that, when executed by one or moreprocessors can provide functionality or portions of the functionalitydescribed above with respect to FIGS. 1-4. In some examples, the signalbearing medium 502 can encompass a computer-readable medium 506, suchas, but not limited to, a hard disk drive, a Compact Disc (CD), aDigital Video Disk (DVD), a digital tape, or memory. In someimplementations, the signal bearing medium 502 can encompass a computerrecordable medium 508, such as, but not limited to, memory, read/write(R/W) CDs, or R/W DVDs. In some implementations, the signal bearingmedium 502 can encompass a communications medium 510, such as, but notlimited to, a digital and/or an analog communication medium (forexample, a fiber optic cable, a waveguide, a wired communications link,or a wireless communication link). Thus, for example, the signal bearingmedium 502 can be conveyed by a wireless form of the communicationsmedium 510.

The one or more programming instructions 504 can be, for example,computer executable and/or logic implemented instructions. In someexamples, a computing device such as the computer system 112 of FIG. 1can be configured to provide various operations, functions, or actionsin response to the programming instructions 504 conveyed to the computersystem 112 by one or more of the computer readable medium 506, thecomputer recordable medium 508, and/or the communications medium 510.

The non-transitory computer readable medium can also be distributedamong multiple data storage elements, which can be remotely located fromeach other. The computing device that executes some or all of the storedinstructions can be a vehicle, such as the vehicle 200 illustrated inFIG. 2. Alternatively, the computing device that executes some or all ofthe stored instructions can be another computing device, such as aserver.

The above detailed description describes various features and functionsof the disclosed systems, devices, and methods with reference to theaccompanying figures. While various aspects and implementations havebeen disclosed herein, other aspects and implementations are possible.The various aspects and implementations disclosed herein are forpurposes of illustration and are not intended to be limiting, with thetrue scope and spirit being indicated by the following claims.

What is claimed is:
 1. A method comprising: controlling a vehicle in afirst autonomous mode of operation, wherein controlling the vehicle inthe first autonomous mode of operation comprises navigating the vehiclebased on map data; obtaining sensor data using one or more sensors ofthe vehicle, wherein the sensor data is indicative of an environment ofthe vehicle; detecting an inadequacy in the map data, wherein detectingthe inadequacy in the map data comprises comparing the map data to thesensor data; and in response to detecting the inadequacy in the mapdata, controlling the vehicle in a second autonomous mode of operation,wherein controlling the vehicle in the second autonomous mode ofoperation comprises obtaining additional sensor data using the one ormore sensors of the vehicle and navigating the vehicle based on theadditional sensor data.
 2. The method of claim 1, wherein the map dataincludes one or more of traffic conditions, road conditions, routeinformation, and positioning information.
 3. The method of claim 1,wherein detecting the inadequacy in the map data comprises comparing themap data and the sensor data to determine whether a difference betweenthe map data and the sensor data exceeds a predetermined threshold. 4.The method of claim 1, wherein the additional sensor data is indicativeof a lane boundary, and wherein navigating the vehicle based on theadditional sensor data comprises navigating the vehicle based on thelane boundary.
 5. The method of claim 1, wherein the additional sensordata is indicative of a position of a second vehicle, and whereinnavigating the vehicle based on the additional sensor data comprisesnavigating the vehicle based on the position of the second vehicle. 6.The method of claim 5, wherein navigating the vehicle based on thefurther sensor data comprises increasing a distance between the vehicleand the second vehicle.
 7. The method of claim 1, wherein the additionalsensor data is indicative of a traffic sign, wherein the traffic signpresents a textual message, and wherein navigating the vehicle based onthe additional sensor data comprises navigating the vehicle based on thetextual message.
 8. The method of claim 1, further comprising: providingan indication of an option to switch to a manual mode of operation,wherein the indication of an option to switch to a manual mode ofoperation is provided by one or more of a display, a speaker, anindicator light and a mobile device in wireless communication with thevehicle; detecting an inactivity when the vehicle is in the secondautonomous mode of operation, wherein the inactivity relates to theoption to switch to the manual mode of operation; and in response todetecting the inactivity, controlling the vehicle in a third autonomousmode of operation.
 9. The method of claim 8, wherein detecting theinactivity comprises: receiving information that is indicative of amovement of an on-board passenger in the vehicle; and detecting theinactivity based on the information.
 10. The method of claim 8, whereincontrolling the vehicle in the third autonomous mode of operationcomprises: obtaining further sensor data using the one or more sensorsof the vehicle, and navigating the vehicle based on the further sensordata.
 11. The method of claim 10, wherein navigating the vehicle basedon the further sensor data comprises: determining a level of safety ofparking the vehicle at a location; determining that the level of safetyexceeds a target threshold; and in response to determining that thelevel of safety exceeds the target threshold, parking the vehicle at thelocation.
 12. The method of claim 10, wherein navigating the vehiclebased on the further sensor data comprises enabling hazard lights of thevehicle and reducing a speed of the vehicle.
 13. A vehicle comprising:one or more sensors; and a controller configured to: receive firstsensor data from the one or more sensors, wherein the first sensor datais indicative of an environment of the vehicle when the vehicle is in afirst autonomous mode of operation; receive second sensor data from theone or more sensors, wherein the second sensor data is indicative of anenvironment of the vehicle when the vehicle is in a second autonomousmode of operation; control the vehicle in the first autonomous mode ofoperation by at least navigating the vehicle based on map data; detectan inadequacy in the map data by at least comparing the map data to thefirst sensor data; and in response to detecting the inadequacy in themap data, control the vehicle in the second autonomous mode of operationby at least navigating the vehicle based on the second sensor data. 14.The vehicle of claim 13, wherein the additional sensor data isindicative of a traffic sign, wherein the traffic sign presents atextual message, and wherein navigating the vehicle based on theadditional sensor data comprises navigating the vehicle based on thetextual message.
 15. The vehicle of claim 13, wherein the controller isfurther configured to: provide an indication of an option to switch to amanual mode of operation, wherein the indication of an option to switchto a manual mode of operation is provided by one or more of a display, aspeaker, an indicator light and a mobile device in wirelesscommunication with the vehicle; detect an inactivity when the vehicle isin the second autonomous mode of operation, wherein the inactivityrelates to the option to switch to the manual mode of operation; and inresponse to detecting the inactivity, control the vehicle in a thirdautonomous mode of operation by at least causing one or more precautiousactions to be performed.
 16. The vehicle of claim 15, wherein the one ormore precautious actions comprises one or more of parking the vehicle,causing the vehicle to follow another vehicle, reducing a speed of thevehicle, navigating the vehicle along at least a part of a route,sending an alert message, and enabling one or more hazard lights of thevehicle.
 17. The vehicle of claim 13, wherein the one or more sensorscomprise one or more of a camera, a radar system, a LIDAR system, aglobal positioning system, and an inertial measurement unit.
 18. Anon-transitory computer-readable storage medium having stored thereoninstructions, that when executed by a computing device, cause thecomputing device to carry out functions comprising: controlling avehicle in a first autonomous mode of operation, wherein controlling thevehicle in the first autonomous mode of operation comprises navigatingthe vehicle based on map data; obtaining sensor data using one or moresensors of the vehicle, wherein the sensor data is indicative of anenvironment of the vehicle; detecting an inadequacy in the map data,wherein detecting the inadequacy in the map data comprises comparing themap data to the sensor data; and in response to detecting the inadequacyin the map data, controlling the vehicle in a second autonomous mode ofoperation, wherein controlling the vehicle in the second autonomous modeof operation comprises obtaining additional sensor data using the one ormore sensors of the vehicle and navigating the vehicle based on theadditional sensor data.
 19. The non-transitory computer-readable storagemedium of claim 18, wherein the functions further comprise: providing anindication of an option to switch to a manual mode of operation, whereinthe indication of an option to switch to a manual mode of operation isprovided by one or more of a display, a speaker, an indicator light anda mobile device in wireless communication with the vehicle; detecting aninactivity when the vehicle is in the second autonomous mode ofoperation, wherein the inactivity relates to the option to switch to themanual mode of operation; and in response to detecting the inactivity,controlling the vehicle in a third autonomous mode of operation.
 20. Thenon-transitory computer-readable storage medium of claim 18, wherein theadditional sensor data is indicative of a traffic sign, wherein thetraffic sign presents a textual message, and wherein navigating thevehicle based on the additional sensor data comprises navigating thevehicle based on the textual message.
 21. A method comprising:controlling a vehicle in a first autonomous mode, wherein controllingthe vehicle in the first autonomous mode comprises navigating thevehicle based on map data; obtaining sensor data indicative of anenvironment of the vehicle; detecting an inadequacy in the map databased on a comparison of the map data and the sensor data; and inresponse to the inadequacy, controlling the vehicle in a secondautonomous mode, wherein controlling the vehicle in the secondautonomous mode comprises controlling the vehicle based on laneindications provided by the sensor data.
 22. The method of claim 21,wherein the lane indications provided by the sensor data comprise anestimated shape and location of a current lane of the vehicle.
 23. Themethod of claim 21, wherein controlling the vehicle in the secondautonomous mode comprises remaining in a current lane of the vehicle.24. The method of claim 21, wherein controlling the vehicle in thesecond autonomous mode further comprises transitioning control of thevehicle to a human driver.
 25. The method of claim 21, whereincontrolling the vehicle in the second autonomous mode further comprisescontrolling the vehicle based on trajectories of other vehicles, andobjects specific to road environments.
 26. The method of claim 21wherein detecting the inadequacy in the map data comprises comparing themap data and the sensor data to determine whether a difference betweenthe map data and the sensor data exceeds a predetermined threshold. 27.The method of claim 21, wherein controlling the vehicle in the secondautonomous mode comprises maintaining a safe distance from othervehicles/objects in a vicinity of the vehicle.
 28. The method of claim21, further comprising: providing an indication of an option to switchto a manual mode of operation, wherein the indication of an option toswitch to a manual mode of operation is provided by one or more of adisplay, a speaker, an indicator light and a mobile device in wirelesscommunication with the vehicle; detecting an inactivity when the vehicleis in the second autonomous mode of operation, wherein the inactivityrelates to the option to switch to the manual mode of operation; and inresponse to detecting the inactivity, controlling the vehicle in a thirdautonomous mode of operation.
 29. The method of claim 28, whereindetecting the inactivity comprises: receiving information that isindicative of a movement of an on-board passenger in the vehicle; anddetecting the inactivity based on the information.
 30. The method ofclaim 28, wherein controlling the vehicle in the third autonomous modeof operation comprises: obtaining further sensor data using the one ormore sensors of the vehicle, and navigating the vehicle based on thefurther sensor data.
 31. The method of claim 30, wherein navigating thevehicle based on the further sensor data comprises: determining a levelof safety of parking the vehicle at a location; determining that thelevel of safety exceeds a target threshold; and in response todetermining that the level of safety exceeds the target threshold,parking the vehicle at the location.
 32. The method of claim 21, whereinthe map data is selectively used in the first autonomous mode, whereincontrolling the vehicle in the second autonomous mode further comprisescontrolling the vehicle based on the map data, and wherein the map datais used to a lesser extent in the second autonomous mode than in thefirst autonomous mode.
 33. A vehicle comprising: one or more sensors;and a controller configured to: control the vehicle in the firstautonomous mode of operation by at least navigating the vehicle based onmap data; receive sensor data from the one or more sensors, wherein thesensor data is indicative of an environment of the vehicle; detect aninadequacy in the map data by at least comparing the map data to thesensor data; and in response to the inadequacy in the map data, controlthe vehicle in a second autonomous mode, wherein controlling the vehiclein the second autonomous mode comprises controlling the vehicle based onlane indications provided by the sensor data.
 34. The vehicle of claim33, wherein the lane indications provided by the sensor data comprise anestimated shape and location of a current lane of the vehicle.
 35. Thevehicle of claim 33, wherein controlling the vehicle in the secondautonomous mode comprises remaining in a current lane of the vehicle.36. The vehicle of claim 33, wherein controlling the vehicle in thesecond autonomous mode further comprises transitioning control of thevehicle to a human driver.
 37. The vehicle of claim 33, wherein the oneor more sensors comprise one or more of a camera, a radar system, aLIDAR system, a global positioning system, and an inertial measurementunit.
 38. The vehicle of claim 33, wherein the lane indications providedby the sensor data comprise features representing lane marker locations,trajectories of other vehicles, and objects specific to roadenvironments.
 39. A non-transitory computer-readable storage mediumhaving stored thereon instructions, that when executed by a computingdevice, cause the computing device to carry out functions comprising:controlling a vehicle in a first autonomous mode, wherein controllingthe vehicle in the first autonomous mode comprises navigating thevehicle based on map data; obtaining sensor data indicative of anenvironment of the vehicle; detecting an inadequacy in the map databased on a comparison of the map data and the sensor data; and inresponse to the inadequacy, controlling the vehicle in a secondautonomous mode, wherein controlling the vehicle in the secondautonomous mode comprises controlling the vehicle based on laneindications provided by the sensor data.
 40. The non-transitorycomputer-readable storage medium of claim 39, wherein the functionsfurther comprise: providing an indication of an option to switch to amanual mode of operation, wherein the indication of an option to switchto a manual mode of operation is provided by one or more of a display, aspeaker, an indicator light and a mobile device in wirelesscommunication with the vehicle; detecting an inactivity when the vehicleis in the second autonomous mode of operation, wherein the inactivityrelates to the option to switch to the manual mode of operation; and inresponse to detecting the inactivity, controlling the vehicle in a thirdautonomous mode of operation.